package io.github.veigara.tcp.framework.factory;

import io.github.veigara.tcp.framework.model.DeviceConnection;
import io.github.veigara.tcp.framework.model.DeviceType;
import io.github.veigara.tcp.framework.protocol.ProtocolDecoder;
import io.github.veigara.tcp.framework.protocol.ProtocolEncoder;
import io.github.veigara.tcp.framework.protocol.ProtocolHandler;

/**
 * 设备组件工厂接口
 */
public interface DeviceComponentFactory {
    ProtocolHandler createProtocolHandler(DeviceConnection connection);
    ProtocolDecoder<?> createDecoder();
    ProtocolEncoder<?> createEncoder();
    DeviceType getDeviceType();
}

